Modular Static Analysis of Actor Programs
نویسندگان
چکیده
Existing static analyses for actor programs explicitely model all possible execution interleavings. Because the number of interleavings increases exponentially with the number of actors and messages exchanged, such analyses scale poorly. We describe the first modular analysis for actor programs, that analyzes each actor in separation of each other. This analysis over-approximate over the diferent interleavings without explicitly modeling them, rendering it scalable. We demonstrate its enhanced scalability by comparing the analysis of the Savina benchmark suite with a non-modular analysis and our new modular analysis. Our technique succeeds in analyzing all of the Savina benchmarks in a matter of seconds, while the non-modular analysis times out on more than half of these benchmarks. Moreover, we show that the precision of our modular remains on par with the precision of the non-modular analysis.
منابع مشابه
Mailbox Abstractions for Static Analysis of Actor Programs (Artifact)
This artifact is based on Scala-AM, a static analysis framework relying on the Abstracting Abstract Machines approach. This version of the framework is extended to support actor-based programs, written in a variant of Scheme. The sound static analysis is performed in order to verify the absence of errors in actor-based program, and to compute upper bounds on actor’s mailboxes. We developed seve...
متن کاملMailbox Abstractions for Static Analysis of Actor Programs
Properties such as the absence of errors or bounds on mailbox sizes are hard to deduce statically for actor-based programs. This is because actor-based programs exhibit several sources of unboundedness, in addition to the non-determinism that is inherent to the concurrent execution of actors. We developed a static technique based on abstract interpretation to soundly reason in a finite amount o...
متن کاملAbstract Interpretation-based Static Safety for Actors
Interpretation-based Static Safety for Actors Pierre-Loïc Garoche, Marc Pantel, and Xavier Thirioux Institut de Recherche en Informatique de Toulouse, France Email: tgaroche,pantel,[email protected] Abstract—The actor model eases the definition of concurrent programs with non uniform behaviors. We present here an encoding of a higher-order actor calculus, CAP, into an abstract interpretatio...
متن کاملCompositional Separate Modular Static Analysis of Programs by Abstract Interpretation
The purpose of this paper is to present four ba sic methods for compositional separate modular static analy sis of programs by abstract interpretation: • Simplification-based separate analysis; • Worst-case separate analysis; • Separate analysis with (user-provided) interfaces; • Symbolic relational separate analysis; as well as a fifth category which is essentially obtained by composition of...
متن کاملA Study of Concurrency Bugs and Advanced Development Support for Actor-based Programs
The actor model is an attractive foundation for developing concurrent applications because actors are isolated concurrent entities that communicate through asynchronous messages and do not share state. Thus, they avoid common concurrency bugs such as data races. However, they are not immune to concurrency bugs in general. This paper studies concurrency bugs in actor-based programs reported in l...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017